package scales.utils.io
import scales.utils.resources._
import java.nio.ByteBuffer
class JVMBufferPool( val bufferSize : Int = 8192, override val reduceSize : Int = 30 ) extends SimpleUnboundedPool[ByteBuffer] {
def create =
ByteBuffer.allocate(bufferSize)
}
class DirectBufferPool( val bufferSize : Int = 8192, override val reduceSize : Int = 30 ) extends SimpleUnboundedPool[ByteBuffer] {
def create =
ByteBuffer.allocateDirect(bufferSize)
}
class ByteArrayPool( val byteArraySize: Int ) extends SimpleUnboundedPool[Array[Byte]]{
def create =
Array.ofDim[Byte](byteArraySize)
}
object DefaultBufferPool extends JVMBufferPool {
}
object DefaultByteArrayPool extends ByteArrayPool(8192) {
}